-----------------------------------------------------------------
-                      mmmmmmm       llllll        yy        aa -
-aaa        ppppp      mmmmmmm                   yyyyy       aa -
-aaa    sss ppppp sss  mmmmmmm       mmmmmm      yyyyy       aa -
-       sss ppppp sss  mmmmmmm       mmmmmm      yyyyy          -
-       sss ppppp sss  mmmmmmm       mmmmmm                     -
-           ppppp      mmmmmmm       mmmmmm                     -
-                      mmmmmmm  sss  mmmmmm  sss                -
-eee                   mmmmmmm  sss  mmmmmm  sss            mmm -
-eee                   mmmmmmm  sss  mmmmmm  sss            mmm -
-eee                   mmmmmmm       mmmmmm                 mmm -
-eee                                 mmmmmm                 mmm -
-                                                               -
-                                                               -
-      bbb                                                      -
-      bbb                                                   dd -
-      bbb                                                   dd -
-----------------------                                         -
-                     -                         sssssssss       -
-                                               sssssssss       -
-                                               sssssssss       -
-   aa                                          sssssssss       -
-   aa                                          sssssssss       -
-                                                               -
-              aa     -                                         -
-              aaa    -                                         -
-              aaa    -------------------------------------------
-                     -------------------------------------------
-                     -------------------------------------------
-   aa                -------------------------------------------
-   aaa               -------------------------------------------
-                     -------------------------------------------
-              a      -------------------------------------------
-             aaa     -------------------------------------------
-              aa     -------------------------------------------
-                     -------------------------------------------
-   a                 -------------------------------------------
-   aa                -------------------------------------------
-   aa                -------------------------------------------
-                     -------------------------------------------
-----------------------------------------------------------------